home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-11 | 9.2 KB | 469 lines | [TEXT/CWIE] |
- // CModalCheckboxes.cp -- dialog methods
-
- #include "CModalCheckboxes.h"
-
- #include <UEnvironment.h>
- #include <UReanimator.h>
- #include <URegistrar.h>
- #include <LStream.h>
- #include <LTabGroup.h>
- #include <LPushButton.h>
- #include <LAMPushButtonImp.h>
- #include <LGAPushButtonImp.h>
- #include <LCheckBox.h>
- #include <LAMControlImp.h>
- #include <LGACheckboxImp.h>
- #include <LDisclosureTriangle.h>
- #include <LGADisclosureTriangleImp.h>
- #include <LStaticText.h>
- #include <LAMStaticTextImp.h>
- #include <LGAStaticTextImp.h>
- #include <LTextGroupBox.h>
- #include <LAMControlViewImp.h>
- #include <LGATextGroupBoxImp.h>
- #include <CustomControls.h>
- #include <LToggleButton.h>
- #include <LBevelButton.h>
- #include <LAMBevelButtonImp.h>
- #include <LGABevelButtonImp.h>
- #include <CTextUtils.h>
-
- #include "DModalCheckboxesData.h"
- #include "EverythingCmds.h"
- #include <PP_Messages.h>
-
- const MessageT msgStandard = 'Stad';
- const MessageT msgXx = 'Xx ';
- const MessageT msgLR = 'LR ';
- const MessageT msgLR2 = 'LR2 ';
- const MessageT msgLR3 = 'LR3 ';
- const MessageT msgLR4 = 'LR4 ';
- const MessageT msgCheckbox = 'Chex';
- const MessageT msgCheckbox2 = 'Che2';
- const MessageT msgNext = 'Next';
- const MessageT msgNext2 = 'Nex2';
-
- #define PPob_ModalCheckboxesID 209
- #define RidL_ModalCheckboxesID 209
-
- Boolean CModalCheckboxes::sIsRegistered = false;
-
- //----------
- CModalCheckboxes* CModalCheckboxes::CreateModalCheckboxes (
- LCommander* inSuperCommander,
- CommandT inCommand,
- DModalCheckboxesData* inData)
- {
- if (!sIsRegistered) {
- RegisterClass ();
- }
- CModalCheckboxes* dlog;
- dlog = ((CModalCheckboxes *)LWindow::CreateWindow(PPob_ModalCheckboxesID, inSuperCommander));
- dlog->mCommand = inCommand;
- dlog->SetFromData (inData);
-
- return dlog;
- }
-
- //----------
- #define RegisterClasses(AbstractClass,AMImpClass,GAImpClass) \
- RegisterClass_(AbstractClass); \
- if (useAppearance) { \
- RegisterClassID_(AMImpClass, AbstractClass::imp_class_ID); \
- } else { \
- RegisterClassID_(GAImpClass, AbstractClass::imp_class_ID); \
- }
-
- //----------
- void CModalCheckboxes::RegisterClass ()
- {
- Boolean useAppearance = UEnvironment::HasFeature (env_HasAppearance);
-
- RegisterClass_(CModalCheckboxes);
-
- // register the pane classes we use
- RegisterClasses (LPushButton, LAMPushButtonImp, LGAPushButtonImp);
- RegisterClasses (LCheckBox, LAMControlImp, LGACheckboxImp);
- RegisterClasses (LDisclosureTriangle, LAMControlImp, LGADisclosureTriangleImp);
- RegisterClasses (LStaticText, LAMStaticTextImp, LGAStaticTextImp);
- RegisterClasses (LTextGroupBox, LAMControlViewImp, LGATextGroupBoxImp);
- RegisterClasses (CCheckBox, CustomControlImp, CustomControlImp);
- RegisterClass_(LToggleButton);
- RegisterClasses (LBevelButton, LAMBevelButtonImp, LGABevelButtonImp);
-
- sIsRegistered = true;
- }
-
- //----------
- CModalCheckboxes::CModalCheckboxes (
- LStream* inStream)
- : LGADialog (inStream)
- {
- mData = nil;
- }
-
- //----------
- CModalCheckboxes::~CModalCheckboxes()
- {
- delete mData;
- }
-
- //----------
- // This member function gets called once the containment hierarchy that contains
- // this pane has been built. It gives us a chance to get data members for
- // interesting subviews, and to do other operations now that our subviews exist.
- void CModalCheckboxes::FinishCreateSelf()
- {
- LGADialog::FinishCreateSelf();
-
- mOKButton = (LPushButton*) FindPaneByID ('OK ');
-
- mStandardCheck = (LCheckBox*) FindPaneByID ('Stad');
-
- mXxCheck = (LDisclosureTriangle*) FindPaneByID ('Xx ');
-
- mLRCheck = (CCheckBox*) FindPaneByID ('LR ');
-
- mLR2Check = (CCheckBox*) FindPaneByID ('LR2 ');
-
- mLR3Check = (LToggleButton*) FindPaneByID ('LR3 ');
-
- mLR4Check = (LToggleButton*) FindPaneByID ('LR4 ');
-
- mCheckboxCheck = (CCheckBox*) FindPaneByID ('Chex');
-
- mCheckbox2Check = (LBevelButton*) FindPaneByID ('Che2');
-
- mNextCheck = (LBevelButton*) FindPaneByID ('Next');
-
- mNext2Check = (LBevelButton*) FindPaneByID ('Nex2');
-
-
- UReanimator::LinkListenerToControls(this, this, RidL_ModalCheckboxesID);
- // the purpose is to "connect" self to whatever controls
- // that we want to "listen" to
-
- // any additional initialization for your dialog:
-
- }
-
- //----------
- void CModalCheckboxes::SetFromData (
- DModalCheckboxesData* inData)
- {
- mData = inData;
- mData->AddListener (this);
-
- mStandardCheck->SetValue (mData->GetStandard4 ());
- mXxCheck->SetValue (mData->GetXx2 ());
- mLRCheck->SetValue (mData->GetLR5 ());
- mLR2Check->SetValue (mData->GetLR6 ());
- mLR3Check->SetValue (mData->GetLR7 ());
- mLR4Check->SetValue (mData->GetLR8 ());
- mCheckboxCheck->SetValue (mData->GetCheckbox3 ());
- mCheckbox2Check->SetValue (mData->GetCheckbox4 ());
- mNextCheck->SetValue (mData->GetNext3 ());
- mNext2Check->SetValue (mData->GetNext4 ());
- }
-
- //----------
- DModalCheckboxesData* CModalCheckboxes::GetData ()
- {
-
- return mData;
- }
-
- //----------
- void CModalCheckboxes::DataChanged (
- long inDataID)
- {
- StopListening ();
-
- if (inDataID == idStandard4) {
- mStandardCheck->SetValue (mData->GetStandard4 ());
- }
- if (inDataID == idXx2) {
- mXxCheck->SetValue (mData->GetXx2 ());
- }
- if (inDataID == idLR5) {
- mLRCheck->SetValue (mData->GetLR5 ());
- }
- if (inDataID == idLR6) {
- mLR2Check->SetValue (mData->GetLR6 ());
- }
- if (inDataID == idLR7) {
- mLR3Check->SetValue (mData->GetLR7 ());
- }
- if (inDataID == idLR8) {
- mLR4Check->SetValue (mData->GetLR8 ());
- }
- if (inDataID == idCheckbox3) {
- mCheckboxCheck->SetValue (mData->GetCheckbox3 ());
- }
- if (inDataID == idCheckbox4) {
- mCheckbox2Check->SetValue (mData->GetCheckbox4 ());
- }
- if (inDataID == idNext3) {
- mNextCheck->SetValue (mData->GetNext3 ());
- }
- if (inDataID == idNext4) {
- mNext2Check->SetValue (mData->GetNext4 ());
- }
-
- StartListening ();
- }
-
- //----------
- void CModalCheckboxes::ListenToMessage (
- MessageT inMessage,
- void *ioParam)
- {
- switch (inMessage) {
- case msg_OK:
- GetSuperCommander()->ProcessCommand(-mCommand, this);
- break;
-
- case msg_Cancel:
- DoClose();
- break;
-
- case msgDataChanged:
- DataChanged ((long)ioParam);
- break;
-
- case msgStandard:
- mData->SetStandard4 (mStandardCheck->GetValue ());
- break;
-
- case msgXx:
- mData->SetXx2 (mXxCheck->GetValue ());
- break;
-
- case msgLR:
- mData->SetLR5 (mLRCheck->GetValue ());
- break;
-
- case msgLR2:
- mData->SetLR6 (mLR2Check->GetValue ());
- break;
-
- case msgLR3:
- mData->SetLR7 (mLR3Check->GetValue ());
- break;
-
- case msgLR4:
- mData->SetLR8 (mLR4Check->GetValue ());
- break;
-
- case msgCheckbox:
- mData->SetCheckbox3 (mCheckboxCheck->GetValue ());
- break;
-
- case msgCheckbox2:
- mData->SetCheckbox4 (mCheckbox2Check->GetValue ());
- break;
-
- case msgNext:
- mData->SetNext3 (mNextCheck->GetValue ());
- break;
-
- case msgNext2:
- mData->SetNext4 (mNext2Check->GetValue ());
- break;
-
-
- default:
- ; // do something
- break;
- }
- }
-
- //----------
- Boolean CModalCheckboxes::ObeyCommand (
- CommandT inCommand,
- void* ioParam)
- {
- Boolean cmdHandled = true;
-
- if (inCommand < 0) {
- // modal dialog has finished
-
- switch (-inCommand) {
- }
-
- } else {
- switch (inCommand) {
-
- default:
- cmdHandled = LGADialog::ObeyCommand(inCommand, ioParam);
- break;
- }
- }
-
- return cmdHandled;
- }
-
- //----------
- void CModalCheckboxes::FindCommandStatus (
- CommandT inCommand,
- Boolean &outEnabled,
- Boolean &outUsesMark,
- Char16 &outMark,
- Str255 outName)
- {
- outUsesMark = false;
-
- switch (inCommand) {
-
- // +++ Add cases here for the commands you handle
-
- default:
- LGADialog::FindCommandStatus(inCommand, outEnabled,
- outUsesMark, outMark, outName);
- break;
- }
- }
-
- // following functions will be obsoleted
- // retained only for backwards compatibility
- //----------
- Boolean
- CModalCheckboxes::GetStandardChoice()
- {
- return mStandardCheck->GetValue();
- }
-
- void
- CModalCheckboxes::SetStandardChoice (
- Boolean inChoice)
- {
- mStandardCheck->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetXxChoice()
- {
- return mXxCheck->GetValue();
- }
-
- void
- CModalCheckboxes::SetXxChoice (
- Boolean inChoice)
- {
- mXxCheck->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetLRChoice()
- {
- return mLRCheck->GetValue();
- }
-
- void
- CModalCheckboxes::SetLRChoice (
- Boolean inChoice)
- {
- mLRCheck->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetLR2Choice()
- {
- return mLR2Check->GetValue();
- }
-
- void
- CModalCheckboxes::SetLR2Choice (
- Boolean inChoice)
- {
- mLR2Check->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetLR3Choice()
- {
- return mLR3Check->GetValue();
- }
-
- void
- CModalCheckboxes::SetLR3Choice (
- Boolean inChoice)
- {
- mLR3Check->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetLR4Choice()
- {
- return mLR4Check->GetValue();
- }
-
- void
- CModalCheckboxes::SetLR4Choice (
- Boolean inChoice)
- {
- mLR4Check->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetCheckboxChoice()
- {
- return mCheckboxCheck->GetValue();
- }
-
- void
- CModalCheckboxes::SetCheckboxChoice (
- Boolean inChoice)
- {
- mCheckboxCheck->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetCheckbox2Choice()
- {
- return mCheckbox2Check->GetValue();
- }
-
- void
- CModalCheckboxes::SetCheckbox2Choice (
- Boolean inChoice)
- {
- mCheckbox2Check->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetNextChoice()
- {
- return mNextCheck->GetValue();
- }
-
- void
- CModalCheckboxes::SetNextChoice (
- Boolean inChoice)
- {
- mNextCheck->SetValue (inChoice);
- }
-
- //----------
- Boolean
- CModalCheckboxes::GetNext2Choice()
- {
- return mNext2Check->GetValue();
- }
-
- void
- CModalCheckboxes::SetNext2Choice (
- Boolean inChoice)
- {
- mNext2Check->SetValue (inChoice);
- }
-
-